package com.cloud.report.api.service;

import java.util.List;

import com.cloud.report.api.entity.ReportDataview;
import com.cloud.report.api.entity.ReportDataviewField;
import com.cloud.report.common.result.QkTreeNode;

public interface ReportDataViewService {
	/**
	 * 获取数据视图树
	 * @return
	 */
	public QkTreeNode[] listDataViewTree();

	/**
	 * 删除数据视图
	 * @param id
	 */
	public void deleteDataview(long id);
	
	/**
	 * 获取详情
	 * @param id
	 * @return
	 */
	public ReportDataview showDataviewDetail(long id);

	/**
	 * 保存或更新视图信息
	 * @param dataview
	 * @return
	 */
	public ReportDataview saveUpdateDataview(ReportDataview dataview);
	
	/**
	 * 保存或更新视图字段信息
	 * @param id
	 * @param fields
	 * @return
	 */
	public int saveUpdateDataviewFields(long id, List<ReportDataviewField> fields);

	/**
	 * 获取表和视图
	 * @param dsName
	 * @return
	 */
	public List<String> listTableViews(String dsName);

}
